Hướng dẫn cách quản lý file trong Linux cơ bản nhất

Hướng dẫn cách quản lý file trong Linux thông qua lệnh command line; các thao tác xem, tạo mới hay sửa, xóa file cơ bản nhất khi làm việc trên môi trường Linux.

1. Hệ thống file trên Linux

Trên hệ điều hành Windows các bạn hẳn rất quen thuộc với trình quản lý file Windows Explorer. Theo đó có thể thấy hệ thống file sẽ được tổ chức dạng phân cấp, đầu tiên là các ổ đĩa như C, D, E, ... sau đó là các thư mục con trong đó, và trong mục con là file hay các mục con khác. Hệ thống file trên linux cũng tổ chức phân cấp như vậy - có phân vùng, file, folder rồi các mục folder con ...

Thao tác với file, folder trên linux thường dùng lệnh. Danh sách dưới đây mô tả các lệnh cơ bản giúp tạo, xóa, sửa, copy, di chuyển file:

Hướng dẫn cách quản lý file trong Linux cơ bản nhất (1)

2. Các lệnh thao tác với file trong Linux

Dưới đây là các lệnh thao tác file, bắt đầu là lệnh hiện file:

$ls

Lệnh này hiện danh sách các file và mục ra màn hình.

Hướng dẫn cách quản lý file trong Linux cơ bản nhất (2)

Như hình trên thì folder hiện màu xanh dương in đậm, file thì hiện màu vàng. Muốn hiện đầy đủ thông tin về file, folder hơn thì thêm tham số -l.

Nó hiện ra tên người sở hữu, ngày sửa đổi gần nhất, kích thước file … Tổng cộng 7 cột thông tin được mô tả bên dưới.

Hướng dẫn cách quản lý file trong Linux cơ bản nhất (3)

Hướng dẫn cách quản lý file trong Linux cơ bản nhất (4)

2.1 Giải thích kết quả hiển thị

  • Cột 1: Mô tả kiểu file (là folder, files hay link …), quyền truy cập file. Kiểu file thì mình mô tả chi tiết ở bảng bên dưới.
  • Cột 2: Số lượng khối nhớ file chiếm dụng. Nếu là thư mục thì hiện số mục con của nó.
  • Cột 3: Người sở hữu : Tên người sở hữu
  • Cột 4: Nhóm sở hữu : Nhóm sở hữu file, folder. Một nhóm có thể có nhiều user.
  • Cột 5: Kích thước file theo bytes.
  • Cột 6: Thời gian file bị sửa đổi.
  • Cột 7: Tên file, thư mục.

2.2 Kiểu file (ký tự đầu tiên trong cột 1)

Hướng dẫn cách quản lý file trong Linux cơ bản nhất (5)

2.3 Các ký tự meta

Các ký tự như ?, * gọi là ký tự meta.

  • * đại diện cho một chuỗi ký tự dài tùy ý. Ví dụ như *.doc thì là tất cả các file có đuôi là .doc;
  • ? có ý nghĩa tương tự nhưng chỉ đại diện cho 1 ký tự. Ví dụ như tìm các file .php dài 2 ký tự thì cú pháp là ??.php.
Khi kết hợp lệnh ls với các ký tự meta sẽ cho ra những kết quả chính xác hơn.
$ls -l *.mp4                 // list ra các file đuôi .mp4
FreeTut_Alias_1.mp4
FreeTut_Alias_2.mp4

Tìm các file .blade có 3 ký tự trong mục có các file như sau:

app.blade.php
home.blade.php
welcome.blade.php
$ls ???.blade.*   // file .blade dài 3 ký tự
app.blade.php

2.4 File ẩn ls -a

Các file ẩn thường là file config cấu hình hệ thống như: .bashrc, .bash_profile là file cấu hình cho user.

Ví dụ mục home (~) có một số file ẩn sau:

$ ls -a ~
.goutputstream-TNR9YX        .viminfo
.goutputstream-ZY71ZX        .viminfo.tmp
.gphoto                      .viminft.tmp
.gradle                      .viminfv.tmp
.gstreamer-0.10              .viminfw.tmp
.gtk-bookmarks               .viminfx.tmp
.gtkrc-2.0                   .viminfy.tmp
.gvfs                        .viminfz.tmp
.history_Symfony             .vimrc
.ICEauthority                x264
.icedtea                     .Xauthority
iMacros                      .xchm

2.5 Tạo file trong Linux - Lệnh touch và vim

Nhập lệnh:

$ vi ten_file

Lệnh trên sẽ mở trình xoạn thảo vim lên. Bạn nhấp phím i để vào chế độ Insert. Sau khi gõ xong thì nhấn phím Esc. Lưu lại thì gõ :w rồi enter. Thoát bằng cách gõ :wpenter, hoặc nhấn Shift + ZZ.

Lệnh touch cũng tạo được file. Nếu muốn tạo nhiều file cùng lúc thì cứ để dấu cách ra.

$touch tên_file1 tên_file2 …

2.6 Sửa file trong Linux - Lệnh vim

$vim file_a

vi là trình soạn thảo nên nó vừa hiển thị nội dung vừa sửa được file.

Xem thêm: Cách sử dụng Vim trong Linux? Lệnh Vim trong Linux?

2.7 Xem nội dung file trong Linux - Lệnh cat

Ngoài vim ra thì lệnh cat hay dùng để xem nội dung file.

$cat ten_file

Ví dụ

$cat ~/.vimrc
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=ucs-bom,utf-8,latin1
endif
 
set nocompatible        " Use Vim defaults (much better!)
set bs=indent,eol,start         " allow backspacing over everything in insert mode
"set ai                 " always set autoindenting on ...

Muốn xem một phần nội dung thì dùng head hoặc tail:

$head -n 10 ~/.vimrc         // xem 10 dòng đầu file
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=ucs-bom,utf-8,latin1
endif
 
set nocompatible        " Use Vim defaults (much better!)
set bs=indent,eol,start         " allow backspacing over everything in insert mode
"set ai                 " always set autoindenting on
"set backup             " keep a backup file
set viminfo='20,\"50    " read/write a .viminfo file, don't store more
                        " than 50 lines of registers
 
$tail -n 10 ~/.vimrc         // xem 10 dòng cuối
if &term=="xterm"
     set t_Co=8
     set t_Sb=^[[4%dm
     set t_Sf=^[[3%dm
endif
 
" Don't wake up system with blinking cursor:
" http://www.linuxpowertop.org/known.php
let &guicursor = &guicursor . ",a:blinkon0"

2.8 Copy file trong Linux - Lệnh cp

cp file_a file_b // Copy file a → 2 file a, b

2.9 Di chuyển file trong Linux - Lệnh mv

Các bạn dùng lệnh mv (move)

mv file_1 file_2                    // Đổi file_1 thành file_2
mv file_1 file_2 file_3  folder_one // di chuyển 3 file vào thư mục folder_one
Xem thêm: Cách di chuyển file và thư mục trong Linux bằng lệnh mv

2.10 Xóa file trong Linux - Lệnh rm

rm file_1               // Xóa file 1
rm test*                // Xóa hết file bắt đầu = test
rm -rf folder_one       // Xóa thư mục folder_one.

Trên đây là các lệnh cơ bản rất hay dùng khi làm việc trên linux. Lệnh rm (xóa) cần phải cẩn thận vì trên Linux một khi đã xóa file thì rất khó lấy lại được. Một số tình huống đặc biệt như khi số lượng các file quá nhiều (hàng triệu file), kích thước quá lớn (vài chục GB) thì các lệnh trên sẽ không hoạt động hoặc không chạy như ý muốn. Những tình huống như vậy rất hiếm nhưng khá hay và sẽ trình bày trong một bài khác.

Nguồn: freetuts